Booting is the process that loads and provides a user operating system (OS), such as a version of MICROSOFT WINDOWS OS, when the user turns on a computer system. The boot sequence is the initial set of operations performed responsive to power on that prepares the user OS for use, including loading the user OS from persistent storage. In this booting process, a boot program is executed to access the memory device(s) from which the OS and related data are loaded, and part of the booting process includes making checks to determine which hardware devices of the computer system are available.
The complexity of the boot process leads to a significant amount of time taken to boot up such that a user can operate the user OS. A lengthy boot process can be undesirable. Several computer systems are available that provide for a quicker boot experience, but these usually are only suitable for beginning a limited OS capable of simple tasks, such as providing Internet access. Various approaches have been taken to speed up the booting process for a full user OS, including for example pre-fetching and caching certain files.